package com.cloudkinto.service.platform;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.entity.PlatformOrderDo;
import com.cloudkinto.entity.PlatformStoreDo;
import com.cloudkinto.service.consumer.vo.StockToPlatformConsumerReq;
import com.cloudkinto.service.consumer.vo.rakuten.RakutenOrderUpdateConReq;
import com.cloudkinto.service.consumer.vo.yahoo.YahooConsumerReq;
import com.cloudkinto.service.consumer.vo.yahoo.YahooMarkShipConsumerReq;
import com.cloudkinto.service.consumer.vo.yahoo.YahooMarkStatusConsumer;
import com.cloudkinto.service.platform.vo.store.StoreYahooAddReq;
import com.cloudkinto.service.platform.vo.yahoo.MarkFinishReq;
import com.cloudkinto.service.platform.vo.yahoo.stock.YahooSkuSetStockReq;

import java.util.Date;
import java.util.List;
import java.util.Map;


public interface PlatformOrderYahooSyncService extends IService<PlatformOrderDo> {

    Object testGetOrderByNumber(String orderNumber, Long storeId);

    String getYahooAuthorizeUrl(StoreYahooAddReq req, Long userId, Long companyId);

    String getYahooRefreshTokenByCode(String code, String state, Long userId, Long companyId);

    Map<String, Object> getYahooUserInfoApi(Long storeId);

    String getYahooUserAccessToken(Long storeId);

    void platOrderYahooSync();

    String syncOrderManual(String orderNumber, Date beginTime, Date endTime, Long storeId);

    String updateYahooOrders(YahooConsumerReq req);

    void consumerUpdate(RakutenOrderUpdateConReq req);

    void makeShip(YahooMarkShipConsumerReq req);

    void makeFinish();

    void makeSeen(YahooMarkStatusConsumer req);

    void makeFinish(YahooMarkStatusConsumer req);

    String testSetStock();

    void setStockByStoreId(StockToPlatformConsumerReq req);

    String setStock(List<YahooSkuSetStockReq> skuSetStockReqs, PlatformStoreDo storeDo, Long userId);

    void getItemList();


    String getItemList(PlatformStoreDo storeDo);

    String getItem(String itemCode, PlatformStoreDo storeDo);


    String updateYahooOrdersHistory(YahooConsumerReq req);
}
